﻿// <copyright file="GestureSegmentEventArgs.cs" company="Ucaya">
// </copyright>
// <author>Ucaya</author>

namespace KinectExtensions.Nui
{
    #region

    using System;

    using KinectExtensions.Services;

    using Microsoft.Research.Kinect.Nui;

    #endregion

    /// <summary>
    ///   TODO: Update summary.
    /// </summary>
    public class GestureSegmentEventArgs : EventArgs
    {
        #region Constructors and Destructors

        public GestureSegmentEventArgs(XyGestureDirection xy, ZGestureDirection z, float squaredLengthXY, float squaredLengthZ, TimeSpan duration, Joint joint, SkeletonData data, float referenceSize)
        {
            this.GestureDirectionXY = xy;
            this.GestureDirectionZ = z;
            this.SquaredLengthZ = squaredLengthZ;
            this.SquaredLengthXY = squaredLengthXY;
            this.Duration = duration;
            this.Joint = joint;
            this.SkeletonData = data;
            this.ReferenceSize = referenceSize;
        }

        #endregion

        #region Public Properties

        public TimeSpan Duration { get; private set; }

        public XyGestureDirection GestureDirectionXY { get; private set; }

        public ZGestureDirection GestureDirectionZ { get; private set; }

        public Joint Joint { get; private set; }

        public float ReferenceSize { get; private set; }

        public SkeletonData SkeletonData { get; private set; }

        public float SquaredLengthXY { get; private set; }

        public float SquaredLengthZ { get; private set; }

        #endregion
    }
}